// 例子37

var person = {}

// 通过get与set自定义访问与设置name属性的方式
Object.defineProperty(person, 'name', {
    get: function() {
        // 一直返回TOM
        return 'Tom'
    },
    set: function(value) {
        // 设置name属性时，返回该字符串，value为新值
        console.log(value + ' in set');
    }
})

// 第一次访问name，调用get
console.log(person.name)   // Tom

// 尝试修改name值，此时set方法被调用
person.name = 'Jerry'   // Jerry in set

// 第二次访问name，还是调用get
console.log(person.name) // Tom